Reasoning About Deterministic Concurrent Functional I/O
نویسندگان
چکیده
This paper develops a language for reasoning about concurrent functional I/O. We assume that the API is specified as statetransformers on a single world state. We then prove that under certain conditions evaluation in this language is deterministic, and give some examples. All properties were machine-verified using the Sparkle proofassistant and using Core-Clean as a meta-language.
منابع مشابه
Thesis Proposal Verifying Concurrent Randomized Algorithms
Concurrency and randomization are two programming features that are notoriously difficult to use correctly. This is because programs that use them no longer behave deterministically, so programmers must take into account the set of all possible interactions and random choices that may occur. A common approach to reasoning about complex programs is to use relational or refinement reasoning: to u...
متن کاملA Toolkit for Structuring I / O Malcolm Dowse and Andrew Butterfield
We give a quick presentation of the language CURIO, which gives a semantics to concurrent I/O in pure functional languages by way of modelling the API directly. Central to CURIO is the fact that an I/O model must obey a pre-condition – some broad axiomatic properties – so that program execution can be deterministic. We then present some mechanisms for modelling the dynamic allocation of data, c...
متن کاملCloser to Reliable Software: Verifying Functional Behaviour of Concurrent Programs
Static formal verification techniques are an e↵ective method for verification of software. They exploit the advantages of formal methods to statically prove that the implementation of a program satisfies its formally written specification. This makes formal verification especially powerful: any execution of the program is guaranteed to behave correctly. Therefore, these techniques are especiall...
متن کاملReasoning about Actual and Hypothetical Occurances of Concurrent and Non-deterministic Actions
We propose extension L 2 of the action description language L 1 that can express both actual and hypothetical situations, concurrent execution of actions, observations of the truth values of uents in these situations (as opposed to hypothetical values of uents expressible in A and A C), observations of actual occurrences of (possibly non-deterministic combination of) actions. The corresponding ...
متن کاملFractional Permissions and Non-Deterministic Evaluators in Interval Temporal Logic
We propose Interval Temporal Logic as a basis for reasoning about concurrent programs with fine-grained atomicity due to the generality it provides over reasoning with standard pre/post-state relations. To simplify the semantics of parallel composition over intervals, we use fractional permissions, which allows one to ensure that conflicting reads and writes to a variable do not occur simultane...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004